Information processing apparatus and method for processing information

ABSTRACT

The invention enables people to easily identify a printout image even in the case where the printout image is printed with a tint block image added thereon. More specifically, a physical page that is a printable area of printing paper is divided into areas, an intended document/image is printed in each of these divided areas (logical pages), and a tint block image is printed only in an area that is in this physical page but does not belong to any of the logical pages. Using a fact that a margin is produced in the so-called N-up printing, the tint block image is printed in this margin. Thereby, the tint block image can be printed in a location that will not interfere with whatever printout image to be printed.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an information processing apparatus anda method for processing information, and more specifically, toprocessing executed for printing an image including a tint block image,which restrains people from using duplicates and the like, in a systemconfigured by having the information processing apparatus, such as apersonal computer, and the printing apparatus, such as a printer.

2. Description of the Related Art

Conventionally, in order to prohibit copying a ledger sheet, a residentcard, and the like, or restrain people from doing so, papers on whichspecial printing is given, papers called anti-counterfeit paper havebeen used. The anti-counterfeit paper is a paper in which characters orthe like such as “COPY” is embedded to be hard to recognized by a humaneye when the paper is in a state of an original and to show up on thecopied paper when the original is copied using a copying machine or thelike. Thereby, people can visually distinguish a print sheet as theoriginal from the duplicate made by copying the original, easily. Theuse of this anti-counterfeit paper as an original causes those who copythe original to hesitate to use duplicated papers. Moreover, theanti-counterfeit paper gives a mental restraint effect of inhibiting anact of copying itself. The reason why characters in the original of theanti-counterfeit paper needs to be hard for people to recognize is toenable people to distinguish between the original and the duplicatedefinitely. If characters such as “COPY” is recognizable to such anextent that people can clearly recognize it even in the original, theremay occur the possibility that people recognize it as the duplicate andsuch paper does not make a sense as the anti-counterfeit paper. Wicker(U.S. Pat. No. 5,788,285) and Mowry et al. (U.S. Pat. No. 6,000,728)disclose arts for manufacturing such an anti-counterfeiting paper.

However, since the anti-counterfeit paper like this is made by fullyemploying a special printing technology, it comes with a problem of highcost compared to normal papers. Moreover, the anti-counterfeit paper canmake only characters that are set at the time of manufacturing show up.Therefore, an application of the anti-counterfeit paper and charactersbeing set are limited. That is, the conventional anti-counterfeit paperlacks flexibility regarding applications because of a matter on itsmanufacture.

On the other hand, as various contents are being digitized, the contentsof ledger sheets, a resident card, or the like are being transformedinto digital data similarly. However, digitization for handling of theseledger sheets and resident cards, such as use of these documents, isstill in a transition phase. Consequently, the contents of digital dataformed using a computer is likely to be outputted on papers with aprinter or the like for subsequent use.

Under such circumstances, significant improvement in printer performancehas been achieved in recent years, and this is one of cause for atechnology, which makes it possible to print out a paper on demand thathas the same effect as the conventional anti-counterfeit paper using acomputer and a printer, to attract an attention. Japanese PatentApplication Laid-open No. 2001-197297 and Japanese Patent ApplicationLaid-open No. 2001-238075 disclose technologies whereby, when contestsdata formed using a computer is printed out with a printer, an imagecalled tint block (a copy-forgery-inhibited pattern) is also outputtedwith superposed on the background of the contents data. The tint blockimage is an image that is recognized only as a simple pattern or a merebackground color in the original (a printed matter outputted by aprinter) to the human eye, but, when it is copied, will show up aspredetermined characters or the like in the duplicate. Thereby, the samerestraint effect as the anti-counterfeit paper can be given to those whocopied.

In the case that the contents are printed out together with a tint blockimage generated by a computer, being superposed thereon, naturally anormal printing paper or the like can be used. Therefore, thistechnology has an advantage in terms of cost in comparison with thetechnology using the anti-counterfeit paper. Moreover, the tint blockimage can be generated when the contents are outputted by printing.Thereby, characters or the like that will be made visible at the time ofcopying can be set freely. Further more, there is also an advantage thatdynamic information, such as a user name who executed printing andprintout time and date, can be made to show up as the characters.

The tint block image, as discussed above, is one that, when beingduplicated, visualizes a predetermined character or the like that couldnot be recognized before duplication, therefore restrains people fromusing the duplicate, and realizes an effect of enabling people tovisually identify what the people sees to be the duplicate, in otherwords, not to be the original easily. In order to realize this effect,the tint block image is basically composed of two areas: an area whichremains (shows up) in the duplicate when being copied, and an area whichdisappears in the duplicate or becomes too light-colored to recognizecompared to the image remaining area. These two areas, as being printed,are of almost the same density, and therefore no one can recognize thatcharacters etc., such as “COPY” that will become visible by duplicationare hidden (embedded) therein at first sight, in a macroscopic sense.However, in a microscopic sense, for example, in a level of printeddots, these two areas have different characteristics, respectively, aswill be shown below.

Hereafter, an image that will show up by duplication is called a “latentimage” and an image that will disappear or become light-colored iscalled a “background” for convenience. The tint block image is basicallycomposed of the latent image and the background image. Moreover, thereis a case where the tint block image also includes a below-mentionedcamouflage image. Incidentally, there may be a case where the latentimage is called a foreground as a term related to a user interface.

Note that tint block printing is not limited to the above-mentionedcomposition, and the tint block image may be composed in such away thatcharacters, such as a “COPY”, a logo, or a pattern will be rendered(will become visible) as an recognizable image to the human eye in theduplicate. That is, even if the characters “COPY” are rendered asoutlined characters in the duplicate, it will achieve its object as tintblock printing. In this case, needless to say, the characters of “COPY”are generated as a background image.

Now, in the case of dot printers, such as of electro-photographic andink jet systems, an area which will remain in the duplicate (latentimage section or foreground section) consists of sets of concentrateddot masses. The area which will disappear or be reproduced with thinnerdensity (background section) than the image density in the area whichwill remain consists of sets of dispersed dots. Moreover, in a statewhere the tint block image is printed, the density of the whole tintblock image can be made almost uniform by setting the images in such away as to have almost equal density in respective areas.

FIG. 24 is a view showing these two areas. As shown in this figure, thetint block image is composed of both the background section in whichdots are arranged dispersedly and the latent image section in whichconcentrated dot masses are arranged. These two areas can be generatedby mutually different half tone dot processing and dither processing. Inthe case where the tint block image is generated using the half tone dotprocessing, half tone dot processing with a small number of lines issuited for the latent image and that with a large number of lines issuited for the background section. In the case where the tint blockimage is generated using dither processing, dither processing using adot concentration type dither matrix is suitable for the latent imagesection, and dither processing using a dot dispersion type dither matrixis suitable for the background section.

Generally, the copying machine has critical points in reproducingcapability that depends on input resolution of reading fine dots of amanuscript and output resolution of reproducing fine dots. In the casewhere the dot in the background section of the tint block image isformed smaller than the critical point of dots that the copying machinecan reproduce and the dot masses in the latent image section thereof areformed larger than the critical point, an image composed of larger dotmasses of the tint block image is reproduced and an image composed ofsmaller dots is not reproduced, in the duplicate by copying. As aresult, the latent image will be made visible. Moreover, even in thecase where dispersed small dots are not completely disappeared bycopying, i.e., in the case where the density of the background sectionis low compared to that of concentrated dot masses, relatively thelatent image can be recognized more markedly.

FIGS. 25A and 25B are views showing visualization of a latent image.FIG. 25A is a view corresponding to a state where the tint block imageis printed. FIG. 25B is view corresponding to a duplicate obtained whenFIG. 25A was copied by a copying machine. From FIG. 25A and FIG. 25B, itmay be understood that the latent image by the concentrated dot masseswill show up and the background by the dispersed dots will disappear.

Further, it is also known well that a technique called the “camouflage”for making it difficult to recognize a latent image embedded in theoriginal is applied to the tint block image. The camouflage is atechnique of arranging a pattern whose density is differentiated fromthose of the latent image section and the background section to besuperposed on the tint block image. The tint block image to which thecamouflage is applied has an effect that the camouflage image whosedensity is different from those of the latent image section and thebackground section becomes noticeable and the latent image sectionbecomes further less noticeable. Moreover, the camouflage image has aneffect of giving a decorative impression to a printed matter.

FIG. 26A shows a tint block image to which no camouflage image is given.FIG. 26B shows a tint block image to which a camouflage image is given.In order to make it easy to recognize a visualized latent image in theduplicate after duplication, it is desirable that dots constituting thecamouflage image are made not to be reproduced in the duplicate. Thiscan be realized by, for example, drawing the camouflage image as anoutlined image, as shown in FIG. 26B.

However, in the case of performing printing to which the tint blockprinting described above is applied, if the density of the tint blockimage is equal to or close to the density of the contents to be printed,i.e., the image to be printed out (hereinafter, also referred to as aprint object), there is the possibility that printing of the tint blockimage makes the print object hard to recognize.

As described above, a fundamental formation of the tint block imageprinting is such that the tint block image is printed all over theprintable area (hereinafter, also referred to as a physical page) in aprinting paper in the form of watermark printing or superpositionprinting, as will be described later with reference to FIG. 17, FIG. 18,and FIG. 19. This is done by adopting the idea of the anti-counterfeitpaper in which the above-mentioned characters, such as COPY PROHIBITED,is printed in advance. One reason of adoption is that, even if the imageto be printed out is printed in any positional relationship to theprinting paper, an image visualized from a latent image is made to showup in a position free from interference with a copied print object. As aresult, the whole of the printout image is printed being superposed onthe tint block image. In this case, if the printout image has thedensity equal to or close to that of the tint block image over the wholearea or partly, the printout image is often hard to identify. Morespecifically, the following cases are conceivable: the outline of theprintout image becomes hard to recognize in the case where the printoutimage and part of the tint block image adjacent to that image have closedensity values; and the contents of the printout image itself becomehard to identify in the case where the printout image and part of thetint block image superposed on that image have close density values.

FIGS. 27A and 27B are views explaining one example of theabove-mentioned interference of density between the printout image andthe tint block image. FIG. 27A shows an example of a printout that isprinted without performing the tint block processing. Since the tintblock processing is not performed, a background 512 is of a color of theground of printing paper, whose density is different from the density ofan ellipse 511, the print object in the center of the printing paper.Then the print object can be easily recognized because of thisdifference in density. In contrast to this, FIG. 27B shows an example ofa printout when the tint block processing is performed. The density ofthe central ellipse 511 is close to that of the tint block image 513,which makes it difficult to identify the ellipse 511.

SUMMARY OF THE INVENTION

The object of the present invention is to provide an informationprocessing apparatus and a method for processing information that makesit possible to identify a printout image easily even when a tint blockimage is printed.

In the first aspect of the present invention, there is provided aninformation processing apparatus comprising print data generating meansfor generating a first image for printed out and a second imageincluding a latent image and a background image, wherein the print datagenerating means arranges the first image on a first area of a printablearea of a printing medium and the second image on a second area otherthan the first area, of the printable area, and generates the print dataso that the second image arranged on the first area is different fromthe second image arranged on the second area.

In the second aspect of the present invention, there is provided aninformation processing apparatus comprising print data generating meansfor generating a first image for printed out and a second imageincluding a latent image and a background image,

-   -   wherein the print data generating means corrects a density value        of the first image based on a maximum density value of the        second image for generating print data, so that the density        value of the first image is within a density range greater than        the density value that is greater than the maximum density of        the second image by a predetermined value.

In the third aspect of the present invention, there is provided aninformation processing method comprising print data generating step forgenerating a first image for printed out and a second image including alatent image and a background image,

-   -   wherein the print data generating step arranges the first image        on a first area of a printable area of a printing medium and the        second image on a second area other than the first area, of the        printable area, and generates the print data so that the second        image arranged on the first area is different from the second        image arranged on the second area.

In the fourth aspect of the present invention, there is provided aninformation processing method comprising print data generating step forgenerating a first image for printed out and a second image including alatent image and a background image,

-   -   wherein the print data generating step corrects a density value        of the first image based on a maximum density value of the        second image for generating print data, so that the density        value of the first image is within a density range greater than        the density value that is greater than the maximum density of        the second image by a predetermined value.

According to the above configuration, in the case of controlling suchprinting that there are a first area in which an image to be printed outis printed and a second areas other than the first area in the printablearea of a printing medium, such as reduction printing and N-up printing,printing modes for the first area and for the second area aredifferentiated. Therefore, a tint block image that will not interferewith an image to be printed can be printed in the first area. Forexample, a mode where the tint block image is not printed in the firstarea can be adopted. Alternatively, a mode where although a tint blockimage is printed in the first area, the tint block image that will notinterfere with an image to be printed is generated according to theimage to be printed, so that the tint block image is different from atint block image in the second area, can be adopted.

Moreover, in another form of the present invention, since consideringthe maximum density of the tint block image to be printed, the image isprinted in a density range higher than that maximum density by apredetermined value, the image to be printed can be distinguished from atint block image by the density difference. Moreover, even in an areawhere the tint block image and the image to be printed are printed in anover lapping manner, the contents of the printed image can be clearlyrecognized.

Therefore, even in the case where printing of a tint block image isperformed, it becomes possible to identify the printout image easily.

The above and other objects, effects, features and advantages of thepresent invention will become more apparent from the followingdescription of embodiments thereof taken in conjunction with theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing a configuration of a printing systemaccording to the embodiment of the present invention;

FIG. 2 is a view showing a configuration for print processing in a hostcomputer 3000 shown in FIG. 1;

FIG. 3 is a block diagram showing another example of a configuration forprint processing in the host computer 3000, this configuration beingexpanded from the configuration shown in FIG. 2;

FIG. 4 is a flowchart showing processing of a saving step in units ofpage in a spooler 302 generating a spool file 303;

FIG. 5 is a block diagram showing a relation between FIG. 5A and FIG.5B, and FIGS. 5A and 5B are flowcharts showing details of controlbetween a spool file 303 generating process and a print-data generatingprocess, which will be described below, in a spool file manager 304;

FIG. 6 is a flowchart showing details of the print-data generatingprocess in a despooler 305;

FIG. 7 is a view showing one example of the printing setting inputdialog;

FIG. 8 is a view showing one example of a setup screen for outputdestinations of a print job;

FIG. 9 is a view showing one example of a data format that is passed tothe despooler 305 from the spool file manager 304 when issuing a printrequest of physical pages thereto;

FIG. 10 is a view showing one example of job setting information shownin the field 1002 of FIG. 9;

FIG. 11 is a view showing one example of a data format that is passed tothe despooler 305 from the spool file manager 304 when issuing the printrequest of physical pages thereto;

FIG. 12 is a view of an example of physical page setting information inthe field 1202 in FIG. 11;

FIG. 13 is a view showing one example of a data format that is passed tothe despooler 305 from the spool file manager 304 when issuing the printrequest of physical pages thereto;

FIG. 14 is a view showing one example of the data format of additionalprint information 1304 in FIG. 12;

FIG. 15 is a view showing one example of a setup screen of tint blockprinting function;

FIGS. 16A and 16B are views showing one example of the dialog used forediting detailed setting of the tint block printing function;

FIG. 17 is a flowchart showing one example of a drawing process of atint block pattern;

FIG. 18 is a flowchart showing another example of a drawing process ofthe tint block pattern;

FIG. 19 is a flowchart showing steps of the drawing process of the tintblock pattern;

FIG. 20 is a view explaining tint block image printing according to afirst embodiment of the present invention;

FIG. 21 is a flowchart showing a process of the tint block printingshown in FIG. 20;

FIG. 22 is a flowchart showing processing of the second embodiment ofthe present invention in the case where “superposition printing” isspecified in the second embodiment of the present invention;

FIGS. 23A and 23B are views explaining one example of densitycompensation according to the third embodiment of the present invention;

FIG. 24 is a view showing the latent image section and the backgroundsection that are two areas of the tint block image;

FIGS. 25A and 25B are views explaining a visualized image of the tintblock image;

FIG. 26A and FIG. 26B are views each showing camouflage in the tintblock image; and

FIG. 27A and FIG. 27B are views each explaining one example of densityinterference by the tint block image.

DETAIL DESCRIPTION OF PREFERRED EMBODIMENTS

Hereafter embodiments of the present invention will be described indetail with reference to the drawings.

FIG. 1 through FIG. 19 are views explaining configurations related toprint processing and generation of basic drawing data of the tint blockimage (the copy-forgery-inhibited pattern) accompanying it in a systemcomprising a host computer that is information processing apparatus anda printer that is printing equipment, according to one embodiment of thepresent invention.

Note that, in this embodiment, part that will become visible in theduplicate at the time of copying is called a latent image section or aforeground section. Part that will disappear or become light-coloredcompared to the latent image section in the duplicate at the time ofcopying is called a background section. And text information, such as“COPY” and “VOID”, is included in the latent image section. However, atint block image according to the present invention is not limited tothem. The text information may be in such a form as is represented(visualized) as outlined characters to a surrounding image in theduplicate. In this case, it is understood that a relationship ofconcentration and dispersion of dots between the latent image sectionand the background section will become in inverse relation to arelationship for not-outlined characters. The present invention is notprescribed by the kind of tint block image, generating process, color,form, size, etc.

Configuration of Printing System

FIG. 1 is a block diagram showing a configuration of a printing systemaccording to the embodiment of the present invention. The presentinvention can be applied to any of a single device, a system comprisinga plurality of devices, and a system that is connected to otherdevice/system through a network, such as LAN and WAN, and performsprocessing, provided that the functions of the present invention areperformed.

In this figure, the host computer 3000 is equipped with CPU 1 thatcontrols execution of processing of a document, in which diagrams,images, characters, tables (including table calculation etc.), etc. aremixed, and which includes processing related to embodiments of thepresent invention that will be described later with reference to FIG. 20and thereafter, according to a document processing program stored inprogram ROM of ROM 3 or in external memory 11, and execution of theprint processing based on the document processing. The CPU 1 supervisescontrols of devices connected to system bus 4. Program ROM of the ROM 3or the external memory 11 stores the operating system (hereinafterreferred to as OS) that is a control program of the CPU 1 etc. Eitherfont ROM of the ROM 3 or the external memory 11 stores font data used inthe document processing etc. Data ROM of the ROM 3 or the externalmemory 11 stores various data used in performing the document processingetc. RAM 2 functions as main memory, a work area, etc. for the CPU 1.

A keyboard controller (KBC) 5 controls key input from a keyboard 9 and apointing device (not shown). A CRT controller (CRTC) 6 controlsdisplaying by a CRT display (CRT) 10 including displaying of a tintblock image. Reference numeral 7 denotes a disk controller (DKC), whichcontrols access to the external memory 11, such as a hard disk (HD) thatstores a boot program, various applications, font data, user files, editfiles, a printer control command generating program (hereinafterreferred to as a printer driver), a floppy (registered trademark) disk(FD), etc. A printer controller (PRTC) 8 is connected to a printer 1500through a bidirectional interface (interface) 21 to execute controlprocessing of communication with the printer 1500.

The CPU 1 performs, for example, a process of spreading (rasterization)outline fonts onto display information RAM being set on the RAM 2, whichenables WYSIWYG on the CRT 10. Moreover, the CPU 1 opens various windowspreviously registered in response to a command directed by anunillustrated mouse cursor etc. on the CRT 10 and performs various dataprocessing. When performing printing, the user can open a window forprinting setting and set a print processing method for the printerdriver including setting of a printer and selection of a print mode.

The printer 1500 is controlled by CPU 12 installed in the printer 1500.The printer CPU 12 outputs image signals as printout information to aprinting section (printer engine) 17 connected to system bus 15 based ona control program stored in the program ROM of ROM 13 etc. or a controlprogram stored in external memory 14 etc. Moreover, this program ROM ofthe ROM 13 stores a control program of the CPU 12 etc. The font ROM ofthe ROM 13 stores font data used in generating the printout informationetc. The data ROM of the ROM 13 stores information to be used in thehost computer etc. in the case where the printer does not have theexternal memory 14, such as a hard disk.

The CPU 12 is capable of communication processing with the host computerthrough an input section 18, and can notify the host computer 3000 ofinformation of the printer etc. The RAM 19 is RAM that functions as mainmemory, a work area, etc. of the CPU 12, and is configured to be able toexpand memory capacity by means of optional RAM connected to anexpansion port not shown in the figure. Incidentally, the RAM 19 is usedfor an output information spreading area, an environmental data storingarea, NVRAM, etc. Access of the external memory 14, such as hard disk(HD) and IC card mentioned above, is controlled by a memory controller(MC) 20. The external memory 14 is connected as an option, and storesfont data, an emulation program, form data etc. Reference numeral 1501denotes the operation panel mentioned above, on which switches, an LEDdisplay, etc. are placed.

The above-mentioned external memory 14 is not limited to one. Two ormore pieces of external memory 14 may be installed and be configured sothat an option card in addition to an internal font and an externalmemory that stores a program for interpreting a printer control languagebelonging to a different language system can be connected. Moreover, thememory may have NVRAM not shown in the figure and may be configured soas to store printer-mode setting information through the operation panel1501.

The printing section 17 is equipped with an engine of theelectro-photography method in this embodiment. Therefore, the image andaccompanying tint block image are printed by means of dots of toner thatare formed according to their print data. Note that, in applying thepresent invention, naturally the method of printing is not limited tothe electro-photography method like this. For example, the presentinvention can be applied to printing equipment of any method wherebyprinting is done by forming dots, such as the ink jet method.

FIG. 2 is a view showing one configuration for print processing in thehost computer 3000 shown in FIG. 1. An application 201, a graphic engine202, a printer driver 203, and a system spooler 204 exist as filesstored in the external memory 11, and each of them is a program modulethat is loaded into the RAM 2 and executed by the OS or a module usingthe module when being executed. Moreover, the application 201 and theprinter driver 203 can be added to an FD of external memory,unillustrated CD-ROM, or an HD of the external memory 11 through anunillustrated network. The application 201 stored in the external memory11 is loaded into the RAM 2 and executed. When this application 201makes the printer 1500 execute printing, the application performsoutputting (drawing) using the graphic engine 202 that is loadedsimilarly into the RAM 2 to be executable.

The graphic engine 202 loads similarly the printer driver 203 preparedfor each printing apparatus, such as a printer, into the RAM 2 from theexternal memory 11, and sets the output of the application 201 in theprinter driver 203. Then, it converts the GDI (Graphic Device Interface)function received from the application 201 into the DDI (Device DriverInterface) function, and outputs the DDI function to the printer driver203.

The printer driver 203 converts the output of the application into acontrol command recognizable to the printer, for example, PDL (PageDescription Language), based on the DDI function received from thegraphic engine 202. The printing system is configured so that thecontrol command obtained by the conversion goes through the systemspooler 204 loaded into the RAM 2 by the “OS,” and is outputted to theprinter 1500 through an interface 21 as print data.

The printing system of this embodiment has a tint block processingsection 205 in the printer driver 203. The tint block processing section205 may be a built-in module of the printer driver 203, or may be in theform of a library module that is added by individual installation.Moreover, the printer driver 203 executes later-described commandgeneration of the tint block image regarding the printing of the tintblock image by calling the tint block processing section 205 intoaction.

Moreover, a tint block layer determination section 308 (see FIG. 3) is amodule provided in the tint block processing section 205, and performsan automatic determination process of the order of printing of the tintblock image in the second embodiment.

Printing-Related Software Module

FIG. 3 is a block diagram showing a configuration that is an expansionof the configuration shown in FIG. 2, relating to another example of aconfiguration for print processing in the host computer 3000. Thisconfiguration is a configuration in which when a print instruction issent to the printer driver 203 from the graphic engine 202, a spool file303 made of an intermediate code is generated temporarily. In theconfiguration of FIG. 2, the time when the application 201 is releasedfrom the print processing is the time when the printer driver 203 hasconverted all print instructions from the graphic engine 202 intocontrol commands of the printer. In contrast to this, in theconfiguration of FIG. 3, the time of release is the time when thespooler 302 has converted all the print instructions into intermediatecode data, and outputted it to the spool file 303. Usually, the latterfinishes in a shorter time. Moreover, the configuration shown in FIG. 3allows the contents of the spool file 303 to be processed. Thereby, forprint data from the application, functions that the application does notpossess, such as enlargement, size reduction, printing two or more pagesin one page by reducing their sizes, can be realized.

For these purposes, the configuration of FIG. 2 is subjected to systemexpansion so that spooling is performed with the intermediate code dataas shown in FIG. 3. Here, in order to process the print data, normallythe user should perform setting through the window presented by theprinter driver 203, and the printer driver 203 stores the contents ofsetting in the RAM 2 or in the external memory 11.

Details of the configuration shown in FIG. 3 will be described below. Asshown in this figure, in this expanded processing method, a dispatcher301 receives the DDI function that is a print instruction from thegraphic engine 202. If the print instruction (DDI function) that thedispatcher 301 received from the graphic engine 202 is one that is basedon the print instruction (GDI function) that the application 201 issuedto the graphic engine 202, the dispatcher 301 loads the spooler 302stored in the external memory 11 into the RAM 2 and sends the printinstruction (DDI function) to the spooler 302, not to the printer driver203.

The spooler 302 analyses the received print instruction, transforms itinto the intermediate code for each of pages, and outputs it to thespool file 303. This spool file of the intermediate code stored in unitsof page is called a page description file (PDF: Page Description File).Moreover, the spooler 302 acquires processing setting (N-up, double faceprinting, stapling, color/monochrome specification, etc.) regardingprint data that is being set for the printer driver 203 from the printerdriver 203, and stores it in the spool file 303 as a file in units ofjob. This setting file stored in units of job is called a job settingfile (often called SDF in short: a spool description file). This spooldescription file will be described later. Note that the spool file 303is generated in the external memory 11 as a file, but may be generatedin the RAM 2. Furthermore, the spooler 302 loads a spool file manager304 stored in the external memory 11 into the RAM 2, and notifies thespool file manager 304 of a generation situation of the spool file 303.Then, the spool file manager 304 determines whether printing can beperformed according to the contents of the processing setting on theprint data stored in the spool file 303.

If the spool file manager 304 determines that printing could beperformed using the graphic engine 202, it loads the despooler 305stored in the external memory 11 into the RAM 2. Then, the spool filemanager 304 directs the despooler 305 to perform a control commandgenerating process based on the page description file of theintermediate code described in the spool file 303.

The despooler 305 processes the page description file of theintermediate code included in the spool file 303 according to the jobsetting file including processing setting information contained in thespool file 303 to regenerate the GDI function, and outputs the GDIfunction through the graphic engine 202 again. In doing so, forgeneration of a command related to printing of the tint block image, thetint block processing section 205 is loaded to perform the processing.

If the print instruction (DDI function) that the dispatcher 301 receivedfrom the graphic engine 202 is one that is based on the printinstruction (GDI function) issued by the despooler 305 to the graphicengine 202, the dispatcher 301 sends the print instruction to theprinter driver 203, not to the spooler 302. The printer driver 203generates a printer control command made of a page description languageetc. based on the DDI function obtained from the graphic engine 202, andoutputs it to the printer 1500 through the system spooler 204.

Further, FIG. 3 shows an example in which a previewer 306 and a settingchange editor 307 are placed in addition to the expansion systemmentioned above, so that preview including preview of the tint blockimage, printing setting change, and binding of two or more jobs are madepossible. In order to make the system perform the print preview, theprinting setting change, or the binding of two or more jobs, it isnecessary for the user to first specify “Store” in a pull-down menu 901that is means for executing “Specification of output destination” in theproperty of the printer driver shown in FIG. 8. Incidentally, if theuser only wishes to see preview, it can also be done by selecting“Preview” as specification of output destination.

The contents being set up in the property of the printer driver in thisway are stored in the structure (called DEVMODE in Windows (registeredtrademark) OS) that the OS provides as a setting file. The structurecontains, for example, setting as to whether storing in the spool filemanager 304 is performed in the processing setting kept in the spoolfile 303. When the spool file manager 304 has read the processingsetting through the printer driver and a specification of storage hasbeen made, the page description file and the spool description file aregenerated and stored in the spool file 303 as described above. Moreover,a window screen of the spool file manager is popped up to display a listof jobs spooled in the spool file 303.

If preview of a certain single job or a combined job is specified on thewindow screen of the spool file manager, the previewer 306 stored in theexternal memory 11 is loaded into the RAM 2, and the previewer 306 isinstructed to perform preview processing of the job in the intermediatecode described in the spool file 303.

Storage Processing of Intermediate Print Data

FIG. 4 is a flowchart showing processing of a storing step for a unit ofpage in the spooler 302 generating the spool file 303.

In this figure, first, the spooler 302 receives a print request from theapplication through the graphic engine 202 in Step 501. In theapplication, a dialog through which printing settings as shown in FIG. 7are entered is displayed, and the printer driver passes the printingsettings entered through this dialog to the spooler 302. The settinginput dialog shown in FIG. 7 includes a setup entry, represented bynumeral 801, to determine the number of logical pages to be laid out onone physical page, and the like.

In Step 502, the spooler 302 determines whether the received printrequest is a job start request. Here, if the request is determined to bethe job start request in Step 502, the operation flow (the flow)proceeds to Step 503, where the spooler 302 generates a spool file 303in which intermediate data is temporarily stored.

Subsequently, in Step 504, the spooler 302 notifies the spool filemanager 304 of the progress of the print processing. In subsequent Step502, the spooler 302 initializes a page number counter thereof to unity.Here, the spool file manager 304 reads and stores information of the jobfor which printing is started, processing setting, or the like from aspool file 303.

On the other hand, in Step 502, if the request is determined not to bethe job start request, the flow proceeds to Step 506. In this Step 506,the spooler 302 determines whether the received request is a job endrequest. If the request is determined not to be the job end request, theflow proceeds to Step 507, where the spooler 302 determines whether therequest is a page feed request. If the request is determined to be thepage feed request in Step 507, the flow proceeds to Step 508, where thespooler 302 notifies the spool file manager 304 of the progress of theprint processing. Then, the spooler 302 increments the page counter,closes the page description file storing the intermediate codes, andgenerates a next page description file. If the spooler 302 determinesthat the received request is not a page feed request in Step 507, theflow proceeds to Step 509, where the spooler 302 prepares writing of theintermediate codes in the page description file.

Next, in Step 510, in order to store the print request in the spool file303, the spooler 302 transforms the DDI function of the print requestinto the intermediate code. In Step 511, the spooler 302 writes theprint request (intermediate code) transformed into a storable form inStep 510 in the page description file of the spool file 303. Then, theflow returns to Step 501 to receive a print request from the applicationagain. This process consisting of a series of Step 501 through Step 511is continued until a job end request is received from the application.Moreover, the spooler 302 acquires simultaneously information ofprocessing setting stored in a DEVMODE structure from a printer driver203, and stores it in a spool file 303 as the job setting file.

On the other hand, if the spooler 302 determines a print request fromthe application to be a job end request in Step 506, the flow proceedsto Step 512 because the print request from the application has been allcompleted. There the spooler 302 notifies the spool file manager 304 ofthe progress of the print processing and finishes the processing.

Generation of Spool File

FIG. 5 is a flowchart showing details of control between the spool file303 generating process and the print-data generating process in thespool file manager 304.

In Step 601, the spool file manager 304 receives a notification of theprogress of the print processing from the spooler 302 or the despooler305. Then, in Step 602, the spool file manager 304 determines whetherthe notification of progress is a print start notification from thespooler 302 notified in the above-mentioned Step 504. If thenotification is the print start notification, the flow proceeds to Step603, where the spool file manager 304 reads processing setting ofprinting from the spool file 303 and starts management of the job.

On the other hand, in Step 602, if the notification is not the printstart notification from the spooler 302, the flow proceeds to Step 604.In Step 604, the spool file manager 304 determines whether thenotification of progress is a print end notification of one logical pagefrom the spooler 302 notified in the above-mentioned step 508. Here, ifthe notification is the print end notification of one logical page, theflow proceeds to Step 605, where the logical page information for thislogical page is stored. Then, in subsequent Step 606, the spool filemanager 304 determines whether printing of one physical page can bestarted for n-logical pages whose spooling has ended at this time. Here,if being printable, the flow proceeds to Step 607, where a physical pagenumber is determined based on a logical number assigned to one physicalpage to be printed.

Calculation of physical pages is done as follows: for example, in thecase where processing setting is such that four logical pages arearranged in one physical page, the first page becomes ready to beprinted at the time when the fourth logical page has been spooled, thefirst page being outputted after the printing. Then, the second physicalpage becomes ready to be printed at the time when the eighth logicalpage has been spooled. Incidentally, even if the total number of logicalpages is not a multiple of the number of logical pages arranged in onephysical page, the logical pages arranged in one physical page can bedetermined with a spool end notification in Step 512.

Further, in Step 608, information of logical page numbers constitutingphysical pages that become ready to be printed, their physical pages, orthe like are stored in a job-output setting file (a file containingphysical page information). FIG. 9 shows a storing format. It isnotified to the despooler 305 that physical page information has beenadded for one physical page. Subsequently the flow returns to Step 601to wait for a next notification. In this embodiment, the printprocessing is possible when one page of print data, i.e., logical pagesconstituting one physical page, is spooled, even if the whole print jobhas not been finished.

On the other hand, when a notification of progress is not a print endnotification of one logical page from the spooler 302 in Step 604, theflow proceeds to Step 609, where the spool file manager 304 determineswhether the notification is a job end notification from the spooler 302notified in the above-mentioned Step 512. Here, if the notification isthe job end notification, the flow proceeds to the above-mentioned Step606. On the other hand, if the notification is not the job endnotification, the flow proceeds to Step 610, where the spool filemanager 304 determines whether the received notification is a print endnotification for one physical page from the despooler 305. Here, if thenotification is the print end notification for one physical page, theflow proceeds to Step 612, where the spool file manager 304 determineswhether the whole of the processing setting has been finished. If theprocess is finished, the flow proceeds to step 612, where the spool filemanager 304 notifies the spooler 305 of termination of the processing.On the other hand, if it is determined that the process of processingsetting has not been finished, the flow proceeds to the above-mentionedStep 606. The despooler 305 in this embodiment takes one physical pageas a unit by which the despooler 305 performs the print processing.Moreover, in Step 608, adopted is a style that information necessary toperform the print processing of one physical page is stored in a filesequentially, so that the file is reusable. If reuse is unnecessary, theinformation processing apparatus may be of an implementation type that afast medium, such as shared memory, is used and the medium isoverwritten in units of physical page successively to enhance the speedand save resources. Moreover, in the case where the progress ofdespooling is faster than the progress of spooling or in the case wheredespooling is started after the termination of the spooling of allpages, by notifying the content that a plurality of physical pages orall physical pages become printable in response to the progress ofdespooling side, without notifying that page printing is possible foreach physical page, in Step 608, then number of notifications can besaved.

If the notification is determined not to be a print end notification ofone physical page from the despooler 305 in Step 610, the flow proceedsto Step 613, where the spool file manager 304 determines whether thenotification is a print end notification from the despooler 305. If thenotification is determined to be the print end notification from thedespooler 305, the flow proceeds to Step 614, where the spool filemanager 304 deletes a corresponding page description file 303 andfinishes the processing. On the other hand, if the notification is notthe print end notification from the despooler 305, the flow proceeds toStep 615, where the spool file manager 304 performs other normalprocessing and waits for a next notification.

Output of Spool File

FIG. 6 is a flowchart showing details of the print-data generatingprocess in the despooler 305.

In response to a print request from the spool file manager 304, thedespooler 305 reads necessary information (page description file andspool description file) from the spool file 303 and generates printdata. A method of transferring the generated print data to the printeris as already discussed in FIG. 3. Moreover, print data is in PDL asalready discussed.

In generating print data, first a notification from the above-mentionedspool file manager 304 is inputted to the despooler 305 in Step 701. Insubsequent Step 702, the despooler 305 determines whether the inputtednotification is a job end notification. If the notification is the jobend notification, the flow proceeds to Step 703, where the despooler 305set an ending flag, and the flow proceeds to Step 705. On the otherhand, if the notification is not the job end notification in Step 702,the flow proceeds to Step 704, where the despooler 305 determineswhether the print start request of one physical page in theabove-mentioned Step 608 was notified. If the notified request is notdetermined to be the print start request in Step 704, the flow proceedsto Step 710, where the despooler 305 performs other error processing,and the flow returns to Step 701 to wait for a next notification.

On the other hand, if the request is determined to be the print startrequest of one physical page in Step 704, the flow proceeds to Step 705,where the despooler 305 saves the ID of printable physical pagesnotified in Step 704. In subsequent Step 706, the despooler 305determines whether the print processing has been finished for allphysical pages whose IDs are saved in Step 705. Here, if all physicalpages have been processed, the flow proceeds to Step 707, where thedespooler 305 determines whether an ending flag is set in theabove-mentioned Step 703. If the ending flag is set, the job is assumedto have been printed, the despooler 305 notifies the spool file manager304 of termination of the processing thereof and finishes theprocessing. In Step 707, if the ending flag is not set, the flow returnsto Step 701 to wait for a next notification.

On the other hand, if it is determined that printable physical pages areremaining in Step 706, the flow proceeds to Step 708, where thedespooler 305 reads IDs of unprocessed physical pages from savedphysical page IDs successively, reads information necessary to generateprint data of physical pages corresponding to the read physical pageIDs, and perform the print processing. To perform the print processing,the despooler 305 transforms a print instruction stored in the spoolfile 303 into a format (GDI function) conceivable to the graphic engine202 and transfers it. For the processing setting to lay out a pluralityof logical pages in one physical page (hereinafter referred to as N-pageprinting), the despooler 305 transforms it considering size reductionand arrangement in this step.

When having finished necessary print processing, the despooler 305notifies the spool file manager 304 of termination of print datageneration of one physical page in subsequent Step 709. Then, the flowreturns to Step 706 again, and Steps 708, 709, and 706 are repeateduntil the print processing is performed for all IDs of printablephysical pages saved in Step 705.

The above is a flow of the print processing using the dispatcher 301,the spooler 302, the spool file manager 304, and the despooler 305. Byprocessing as described above, the application 201 is released from theprint processing at the time when the spooler 302 generates theintermediate code and stores it in the spool file 303; therefore, theprint processing can be finished in a shorter time than the print datais directly outputted to the printer driver 203. Moreover, since theintermediate files (the page description file and the spool descriptionfile) based on printing settings of the printer driver are kepttemporarily in the spool file 303, the user is enabled to recognize aprint preview of what will be printed actually. Moreover, since theintermediate file is being kept, a combination and rearrangement ofprint jobs generated by two or more applications become possible, andalteration of the printing setting is feasible without launching theapplication again to perform printing.

Note that the job-output setting file is generated at the time ofrequesting the graphic engine 202 to perform printing in the printprocessing using the spooler 302, and that the job-output setting fileis also generated when preview, job combination, or the like isperformed. The job-output setting file is equal to the spool descriptionfile in the case of a single job; the job-output setting file isgenerated based on two or more pieces of the job setting information inthe case of a combined job. Here, the job-output setting file will bedescribed.

Composition of Job-Output Setting File

FIG. 9 shows an example of the job-output setting file keepinginformation constituting physical pages that has been generated to beprintable by the spool file manager 304 in Step 608. The field 1001 isfor an ID used for identifying a job. This ID can also be kept in theform of the name of a file name or the name of shared memory that keepsthis information. The field 1002 is for the job setting information. Thejob setting information includes one piece of information that can beset up for one job as follows: a structure necessary to start printingof a job for the graphic engine 202; specifications of N-page printing;specifications of additional drawing, such as a page frame; finishingspecifications, such as the number of copies and stapling; and the like.In the job setting information 1002, enough information is storedaccording to functions for the job. The field 1003 is for the number ofphysical pages of a job, which indicates as much pieces of physical pageinformation as this figure are stored in subsequent fields after this.Since this embodiment adopts a system of notifying the number ofprintable physical pages, the equipment can work without this field.After this field, a field 1004 through the last field store physicalpage information to the number stored in the field 1003. Physical pageinformation will be described in FIG. 12.

FIG. 10 is a view showing one example of the job setting informationshown in the field 1002 of FIG. 9. The field 1101 is for the totalnumber of physical pages. The field 1102 is for the total number oflogical pages. The fields 1101 and 1102 are used in the case of printingthe number of pages etc. as additional information in addition to theprint data, and in other cases. When printing is being continued, theboth fields are set to temporal values, or the spool file manager 304postpones generation of information of printable physical pages untilthe printing is finished. A field 1103 is for number-of-copiesinformation that specifies how many copies of this print job should beprinted. A field 1104 is for specifying whether printing should be doneby making collated sets of copies in the case where the field 1103specifies printing of two or more sets of copies. A field 1104 is forspecifying finishing information, such as stapling, punching, andZ-character folding, which is specified in the case where the printerhas a finisher in it or outside the printer. A field 1106 is for storingaddition print information that is added to a job as follows: the tintblock printing according to the present invention; decoration such as apage frame; additional information such as date; user name; the numberof pages; watermark printing; etc. As the number of functions increases,the number of fields included in this job setting information increases.For example, in the case where the printer is capable of double faceprinting, a field for storing specifications of double face printing isadded.

FIG. 11 is a view showing one example of the physical page informationshown in the field 1004 of FIG. 9. The first field 1201 is for physicalpage number, whose value is used in managing the order of printing andin printing the physical page number additionally. The field 1202 is forphysical page setting information, storing settings of layout andcolor/monochrome if layout and color/monochrome can be specified foreach physical page. The field 1203 is for the number of logical pagesallocated to this physical page; when four pages are allocated to onephysical page, an ID indicating “4” or “four page printing” is stored.The field 1204 and subsequent fields store information of the logicalpage by the number specified by the field 1203. The may be a case wherethe actual number of page data becomes fewer than the number of pagesspecified by the field 1203 depending on the number of pages printed bythe application 201. In that case, this discrepancy is coped with bystoring special data indicating an empty page in the logical pageinformation.

FIG. 12 is a view showing an example of the physical page settinginformation 1202. The field 1301 is for the order of arrangement oflogical pages on physical page, storing specifications on how thelogical pages should be arranged on the physical page in N-page printing(the upper left to the side, the upper left to the down, etc.). Somesystem may arrange pieces of logical page information in the field 1204and thereafter, not in the order of page number, but in the order ofarrangement in place of the setting of the field 1301. The field 1302 isfor information of the front/back in double face printing, which isused, for example, to set a binding margin in a proper side for thefront and the back. The field 1303 is for specifying color pages ormonochrome pages, storing a value used in the case where a printer has amonochrome mode and a color mode, and the user wishes to print colorpages in a color mode and monochrome pages in a monochrome mode in adocument mixed with color pages and monochrome pages, and in othercases. The field 1304 is for additional print information, used in thecase of printing additional information, such as the page number anddate, on the physical page. As for physical page setting information, afield may be added according to functions of the system.

In this embodiment, since the tint block image printing explained withreference to FIG. 15 and thereafter is information added to the physicalpage, it is also stored in the field 1304 as setting information foreach physical page based on information about the tint block printingkept in the field 1106 shown in FIG. 10. One example of data format usedfor storing the setting information about the tint block printing in theadditional print information 1106 and the additional print information1304 for a job will be described later with reference to FIG. 14.

FIG. 13 is a view showing one example of logical page information shownin the field 1204. The field 1401 is for the ID of a logical page, andusing this ID an intermediate code of the page description filecorresponding to the logical page is referred from the spool file 303.This ID is just required to allow access to the intermediate code of thelogical page using this ID, and may be a file, a memory pointer, or theintermediate code itself constituting the logical page. The field 1402is for the logical page number, and is used in the case of printing thelogical page as additional information or used as supplementaryinformation to the logical page ID. Various setting entries that can bestored in units of logical page are stored in the field 1403 of formatinformation. For example, information of various setting specified inunits of logical page, such as additional printing information, such asa page frame, and enlargement/reduction ratio. Moreover, if necessary,it is also possible to store attribute information for logical page,such as color/monochrome information for each logical page. On thecontrary, in such a system as requires neither switching of the settingsin units of logical page nor attribute information for each logicalpage, the field 1403 is unnecessary.

The job-output setting file is composed as described above. In addition,the spool description file is almost the same as the job-output settingfile; for job information, consisting of printing appearance(single-sided/double-sided, printing and book binding), printing layout(N-up, poster printing), additional information (tint block printinginformation, watermarking, date, username, etc.), the number of copies,and paper size; and for each physical page, consisting of arrangementorder of logical pages, whether it is the front or the back in doubleface printing, a color mode, etc.

Further FIG. 3 shows an example in which the setting change editor 307with a function of changing settings of a job is placed in addition tothe expansion system that has heretofore been described. The settingchange editor 307 is an editor that can change interactively thecontents of the spool description file or the job-output setting fileboth mentioned above. Since the setting change editor 307 is not relatedto the present invention directly, its explanation is omitted.

Explanation of Print-Data Generating Process of Tint Block Image

One embodiment of the present invention relates to a configuration inwhich the user selects either watermark printing of a tint block imageor superposition printing of the tint block image arbitrarily. To beconcrete, the user selects either the watermark printing or thesuperposition printing through an interface with a radio button 2210used for selecting either the watermark printing or the superpositionprinting both shown in FIG. 16A, whereby the final order ofsuperposition of the tint block image data and the printout image data(manuscript data) is determined. Then, according to the order, thewatermark printing of the tint block image explained in FIG. 17 or thesuperposition printing of the tint block image explained in FIG. 18 isperformed. Concrete contents of the watermark printing and thesuperposition printing will be described later.

FIG. 15 through FIGS. 16A and 16B are views showing one example of theuser interface by which a setup about the tint block image printing isperformed.

FIG. 15 is one example of an initial screen of the user interfacerelated to the tint block printing, the user interface being placed inthe printer driver 203. In this example, the user interface allows theuser to make settings about the tint block printing in a property sheet2101 in the dialog.

Reference numeral 2102 denotes a check box used for specifying whetherthe tint block printing (printing including the tint block image, andthe sane thereafter) is performed for the print job. This specificationis stored in the additional printing information 1106 in FIG. 10 as asetting as to whether the tint block printing is performed. Numeral 2103denotes a field for storing style information for enabling a singleidentifier (style) to specify two or more pieces of setting informationof the tint block printing. The printer driver 203 is made capable ofselecting a plurality of styles, and a relationship between each styleand the tint block printing information shown in FIG. 14 is registeredin a registry. Moreover, by the user pressing the button 2104, a dialogfor style editing 2201 shown in FIG. 16A is displayed. Numeral 2105denotes a check box used in adjusting the contrast between theforeground and the background in the tint block printing. When the userpresses the button 2106, a contrast adjustment screen (not shown) willbe displayed.

FIG. 16A is a view showing one example of a dialog used for editingindividual detailed settings of the tint block printing.

In this figure, reference numeral 2201 denotes the whole dialog forediting tint block image information. In this display area, a result ofthe tint block image generated by several pieces of tint block imageinformation that will be described later is displayed for preview.Numeral 2202 denotes an area for displaying a list of styles that can beselected in the area 2103 of FIG. 15. The user is allowed to add a newstyle and delete any style using the buttons 2203 and 2204. Referencenumeral 2205 denotes an area where a style name currently specified isdisplayed.

Reference numeral 2206 denotes a radio button with which the kind of adrawing object used for tint block printing is selected. When the userselects a “character string” by operating this radio button 2206, thetext object will be used; when the user selects an “image,” image datatypified by BMP etc. will be used. Since a “character string” isselected in FIGS. 16A and 16B, setting information specified by numerals2207 through 2209 is displayed in the dialog 2201, and the user isallowed to edit it. On the other hand, when “Image” is selected in thearea 2206, information 2207 through 2209 is not displayed, but insteadan image file name in the field 2215 and a button 2216 for displaying afile selection dialog (not shown) are displayed, as shown in FIG. 16A.

Reference numeral 2207 denotes an area for displaying and editing acharacter string used as a tint block image. Numeral 2208 denotes anarea for displaying and editing font information of the characterstring. Although in this embodiment a selection screen shows only fontnames, choices may be expands to information of a type face (bold,italic, etc.) and information of an initial decorated with figures sothat the user can select it. Numeral 2209 denotes an area for displayingand specifying a font size of the character string used as the tintblock pattern. Although this embodiment employs a style in which threestages of “Large,”“Medium,” and “Small” can be specified, a font-sizespecifying method commonly used, such as direct input of the pointnumber, may be adopted. Numeral 2210 denotes a radio button with whichthe order of printing of the tint block pattern and the manuscript datais defined. When “watermark printing” is specified, the tint block imageis drawn on bit map memory of the printer and subsequently themanuscript data is drawn so as to be overwritten on the tint blockimage. On the other hand, when “superposition printing” is specified,first the manuscript data is drawn on the memory and subsequently thetint block image is drawn thereon so as to be overwritten on themanuscript data. Detailed processing of the drawing will be describedlater.

Reference numeral 2211 denotes a radio button with which an arrangementangle of the tint block pattern is specified. In this embodiment, threechoices of “upward to the right”, “downward to the right”, and“horizontal” are selectable. The angle specifying method may be expandedin such a way as to provide a numerical value entry area whereby anarbitrary angle can be specified or a slider bar that allows the user tospecify an angle intuitively. Numeral 2212 denotes an area fordisplaying and specifying color used for the tint block pattern(foreground and background patterns). Numeral 2213 denotes a check boxused for interchanging the foreground pattern and the backgroundpattern. The tint block is printed as follows: if the check box is notchecked off, the foreground pattern will show up in the duplicate at thetime of copying; and if it is checked off, the background pattern willshow up and the foreground pattern will be represented as outlinedcharacters at the time of copying.

Reference numeral 2214 denotes an area used for specifying a camouflageimage that makes the tint block pattern embedded in the manuscript hardto recognize, which can be selected from a plurality of patterns.Moreover, there is also provided a choice of using no camouflage image.

Data Format of Tint Block Printing Setting Information

Next, formats of data stored in additional print information 1106, 1304related to the tint block printing setting information described inFIGS. 16A and 16B will be described using FIG. 14.

In this figure, the field 2001 stores a value indicating the type ofdrawing object (text or image) generated in the tint block printing thatis specified in the area 2206 of FIG. 16A. The field 2002 stores settinginformation for a drawing object specified by information in the field2001 that is specified by areas 2207-2209 in FIG. 16A or by FIG. 16B.When text is selected, it stores a character string, a font name, andsize information; when image is selected, it stores a location of theimage file to be inputted. The field 2003 stores information thatspecifies whether the tint block pattern is drawn prior to or after themanuscript data (the order of drawing) and that is specified in the area2210 of FIG. 16A. The field 2004 stores information of an angle at whichthe drawing object is disposed and that is specified in the area 2211 ofFIG. 16A. The field 2005 stores information of colors that are used inthe tint block pattern (foreground and background patterns) and that arespecified in the area 2212 of FIG. 16A. The field 2006 storesinformation as to whether the foreground pattern and the backgroundpattern are interchanged and that is specified by the check box 2213 ofFIG. 16A. The field 2007 stores pattern additional information of acamouflage image specified in the area 2214 of FIG. 16A. The field 2008stores density information of the foreground pattern. The field 2009stores density information of the background pattern.

Print-Data Generating Process of Tint Block Image

FIG. 17 and FIG. 18 are flowcharts showing a flow of print-datagenerating process of the tint block image in the tint block printing.These figures correspond to “watermark printing” and “superpositionprinting” explained in FIG. 16A, respectively. These processes areperformed in the course of the print processing in Step 708 of FIG. 6,i.e., in the print data generating process.

First, “watermark printing,” i.e., a case where print data of the tintblock image is generated in advance will be described using theflowchart of FIG. 17. As described above, “watermark printing” is aprocess of rasterizing manuscript data over the tint block image data inbit map memory of a printer. Therefore, the order of generation of printdata is such that the print data of the tint block image is generatedprior to generation of the print data corresponding to the manuscriptdata.

In Step 1901, the tint block processing section 205 generates a tintblock image according to information on the tint block shown in FIG. 14.The detailed processing will be described later with reference to FIG.19. Then, a print-data generating process of the manuscript data isperformed. The counter is initialized in Step 1902. In Step 1903, it isdetermined whether the counter indicates the number of logical pages perphysical page previously set. If it becomes equal to the number oflogical pages, this processing is finished; if it is not equal, the flowproceeds to Step 1904. The counter is incremented by unity in Step 1904.In Step 1905, an effective print area for logical pages for which theprint-data generating process will be preformed after this based on thenumber of logical pages per physical page and the counter. In Step 1906,the current logical page number is read using the counter as an indexbased on information on the physical page informed in the format as FIG.11, and pertinent logical pages are reduced in size so as to fit intothe effective print area. However, if the N-page printing is notspecified, naturally there is no necessity for reduction.

Next, a case of “superposition printing,” that is, a case where printdata of the manuscript data is generated in advance will be describedusing the flowchart of FIG. 18. As described above, “superpositionprinting” is a process of rasterizing the tint block image on themanuscript data in the bit map memory of the printer. Therefore, theorder of generation of print data will be such that print datacorresponding to the manuscript data is generated prior to generation ofprint data corresponding to the tint block image.

The counter is initialized in Step 1902. Next, in Step 1903, it isdetermined whether the counter becomes the number of logical pages perphysical page previously set. If it becomes equal to that number oflogical pages, the flow proceeds to Step 1908; if it is not equal, theflow proceeds to Step 1904. The counter is incremented by unity in Step1904. In Step 1905, an effective print area for logical pages that willbe generated after this is calculated based on the number of logicalpages per physical page and the counter. In Step 1906, the currentlogical page number is read using the counter as an index based oninformation about the physical page notified in the form as of FIG. 11,and pertinent logical pages are reduced in size so as to fit in theeffective print area. However, if the N-page printing is not specified,naturally there is no necessity for reduction. When the print datacorresponding to the predetermined number of logical pages as onephysical page has been generated, the flow proceeds to Step 1908. InStep 1908, the tint block processing section 205 generates the tintblock image according to the information on the tint block shown in FIG.14 based on the effective print area of the physical page acquired fromthe application. The detailed processing will be described later withreference to FIG. 19.

FIG. 19 is a flowchart showing details of the tint block imagegenerating process in Step 1901 shown in FIG. 17 and of the tint blockimage generating process in Step 1908 shown in FIG. 18, both accordingto the one embodiment of the present invention. Hereafter, the tintblock image generating process will be described with reference to FIG.19.

First, the tint block image generating process is started in Step 2701.To be concrete, a tint block image generation direction and theabove-mentioned tint block printing setting information are inputted tothe tint block processing section 205. Next, the tint block processingsection 205 reads a background threshold pattern, a foreground thresholdpattern, a basic image, and a camouflage image in Step 2702. Here, thebasic image is image data serving as a base for generating the tintblock image. This is an image generated by the despooler 305 based onvarious setting information shown in FIG. 14.

Further, the tint block processing section 205 determines an initialpixel in generating the tint block image in Step 2703. For example, whenthe tint block image is generated by performing image processing inorder of raster scanning, from the upper left to the lower right, on thewhole printable area of A4 paper, the upper left of the printable areais specified as an initial position. In this case, the printable areaand the tint block image area are equal.

Next, in Step 2704, the tint block processing section 205 performsprocessing to arrange the background threshold pattern, the foregroundthreshold pattern, the basic image, and the camouflage image in tiles onthe tint block image area, starting from the upper left of that area, bycalculation based on the following expression (1). By this calculation,it is determined whether a pixel value corresponding to a dot at thetime of printing is written in the said pixel position. At this time,the pixel value corresponds to color information entered. Here, thebackground threshold pattern and the foreground threshold pattern areimage data consisting of “1” and “0” that correspond towriting/unwriting of a dot. These images are data binarized byrespective dither matrices suitable for forming the foreground (latent)image and the background image, respectively.nWriteDotOn=nCamouflage×(nSmallDotOn×nHiddenMark+nLargeDotOn×nHiddenMark)  (1)The components of the expression are shown below.

nCamouflage: if an object pixel is a pixel that constitutes a camouflagepattern in a camouflage image, it assumes 0; if otherwise, 1.

nSmallDotOn: if the pixel value of the background threshold pattern isblack, it assumes 1; if white, then 0 (color is not limited to this).

nLargeDotOn: if the pixel value of the foreground threshold pattern isblack, it assumes 1; if white, then 0 (color is not limited to this).

nHiddenMark: if a target pixel in the basic image is a pixel thatconstitutes the latent image, it assumes 1; if a pixel that constitutesthe background image, it assumes 0.

nHiddenMark: Negation of nHiddenMark. It assumes 0 in the foregroundsection; and 1 in the background section.

Incidentally, it is not necessary to calculate the expression (1) byusing all compositions therein for each pixel to be processed. Omissionof unnecessary calculation can enhance the speed of processing.

For example, if nHiddenMark=1, then

nHiddenMark=0, and if nHiddenmark=0, then

nHiddenMark=1. Therefore, it is good to assume a value of the followingexpression (2) as a value of nLargeDotOn if HiddenMark=1, and to assumea value of the expression (2) as a value of nSmallDotOn ifnHiddenMark=0.

Moreover, since a value of nCamouflage is a multiplic and to the termsin a parenthesis as shown in the expression (1), if nCamouflage=0, thennWriteDotOn=0. Therefore, if nCamouflage=0, calculation of theexpression (2) below can be omitted.(nSmallDotOn×

nHiddenMark+nLargeDotOn×nHiddenMark)  (2)

Furthermore, an image whose dimensions of length and breadth are leastcommon multiples of lengths and breadths of the background thresholdpattern, the foreground threshold pattern, the basic image, and thecamouflage image, respectively. Therefore, the processing time forgenerating the tint block image can be shortened if the tint blockprocessing section 205 generates only one portion of the tint blockimage that is the minimum unit of repetition and arranges that portionof the tint block image repeatedly to tile the tint block image areacompletely.

Next, in Step 2705, the CPU 1 determines the calculation result (a valueof nWriteDotOn) in Step 2704. That is, if nWriteDotOn=1, the flowproceeds to Step 2706; if nWriteDotOn=0, the flow proceeds to Step 2707.

In Step 2706, a process of writing a pixel value corresponding to a dotat the time of printing is performed. Here, the pixel value ischangeable according to a color of the tint block image. In addition, acolor tint block image can be formed by setting the pixel values inconformity with colors of printer toners or inks. Moreover, secondarycolors generated by combining a plurality of colors of the toners orinks.

It is determined whether all pixels in the area to be processed wereprocessed in Step 2707. If all the pixels in the area to be processedare not processed, the flow proceeds to Step 2708, where unprocessedpixels are selected and processing in Steps 2704-2706 is performedagain.

According to this embodiment, the user is allowed to select eitherwatermark printing or superposition printing according to a blank areaof the manuscript data, presence/absence of an area to be painted with awhite image, the application having generated the manuscript data, etc.Therefore, the present invention makes the information processingapparatus easy to use for the user in terms of tint block printing.

Incidentally, a process of synthesizing a bit map image from the tintblock image data and the manuscript image data is performed in theprinter 1500. In the synthetic processing in the printer, if thesuperposition printing is set up, first the manuscript image data israsterized onto bit map memory, and then the tint block image data israsterized in such a way as to be written over the manuscript imagedata. At this time, if the tint block image data were simply writtenover it, the manuscript image would disappear. Then, in the case wherethe superposition printing is set up, the manuscript data is preventedfrom being overwritten with the tint block image by using logicaldrawing of AND/OR. For example, the following processing is performed:if a pixel of the bit map image obtained by spreading the manuscriptimage data has a value corresponding to white, the tint block image datacorresponding to the pixel is written over the bit map memorycorresponding to the said pixel position; and if a pixel has a valuecorresponding to non-white, the tint block image data corresponding tothe pixel is not written over it.

Several embodiments based on the system explained above of theconfiguration for printing the tint block image will be described below.

(First Embodiment)

FIG. 20 is a view illustrating tint block image printing according to afirst embodiment of the present invention, which relates to printing ofthe tint block image in the so-called N-up printing.

The example shown in FIG. 20 illustrates a case of performing N-upprinting with N=4; the system is configured so that the tint block imageis not printed in four print areas (hereinafter, each area is referredto as logical-page arrangement area) in printing paper (printingmedium), but is printed in a blank area except these print areas.

To be concrete, reference numeral 5201 denotes a printable area(physical page) in printing paper when N-up printing is performed, andreference numerals 5211, 5212, 5213, and 5214 denote page arrangementareas (the logical-page arrangement areas) as print areas specified by aprinting application, respectively. When the setting of such N-upprinting exists in the spool description file (SDF), the despooler 305(FIG. 3) divides a physical page into areas, and directs the graphicengine to perform printing by reducing and moving pages issued by theapplication onto respective areas thus divided.

Then, the tint block image is printed only in an area that is in thisphysical page and does not belong to any logical-page arrangement areas,i.e., the area 5220 shown in gray in FIG. 20.

FIG. 21 is a flowchart showing a process of the tint block imageprinting shown in FIG. 20. As shown in this figure, this process isbased on the fundamental configuration of “watermark printing” shown inFIG. 17, so that after “Calculation of effective printable area forlogical-page arrangement area” in Step 1905, rendering an effectiveprint area for the logical-page arrangement areas with blank in Step1910, i.e., generation of drawing data such that pixel values in theareas become zero, and subsequently drawing in the logical-pagearrangement areas is executed in Step 1906. More specifically, in Step1910, a process of erasing the tint block image data that is drawn inStep 1901 and is laid out in the logical-page arrangement areas 5211,5212, 5213, and 5214 is performed. Then, the printout image is drawn inthese areas in subsequent Step 1906. As a result, the tint block imagedrawn in Step 1901 will be printed only in the blank area 5220. Notethat FIG. 17 shows an example of “watermark printing” and FIG. 18 showsan example of “superposition printing” and that, since other objects arenot printed in the area 5220 in which the tint block image is printed inthis embodiment, the above-mentioned same processing should do in both“watermark printing” and “superposition printing.”

Note that in this embodiment, although the print processing is explainedby specifying a timing between drawing of the logical page data in thelogical-page arrangement areas and deletion of the tint block image asdescribed above, the present invention is not limited to the flow ofprocessing like this and the timing only needs to be controlled in sucha way that the tint block image is formed only in the blank areafinally.

As described in the foregoing, according to the first embodiment of thepresent invention, by using a fact that a blank area results from theN-up printing, the tint block image is printed in the blank area.Thereby, whatever a printed image is, the tint block image can beprinted in a position in which it does not interfere with the printedmage. And as a result, even when the density of the tint block image isclose to the density of the printout image, a printout image can berecognized clearly, and degradation of the printed image that may resultfrom the tint block printing can also be prevented. Moreover, althoughimages printed in the logical pages as described above are inherentlyhard to recognize by the human eye because they are reduced in size, thefirst embodiment can prevent what is inherently hard for people torecognize from becoming harder to recognize by printing the tint blockimage in other areas.

(Second Embodiment)

A second embodiment of the present invention relates to a configurationthat in the case of performing printing, such as the above-mentionedN-up printing, where there are a plurality of logical-page arrangementareas and blank areas other than these logical-page arrangement areas,the tint block image is also printed in the logical page arrangementareas and the tint block image is made different from the tint blockimage printed in the blank areas. More specifically, the tint blockimage printed in the logical-page arrangement areas is differentiatedfrom the tint block image printed in the blank areas by changingcharacters, a pattern, etc., so that the image printed out in thelogical-page arrangement areas is made recognizable.

A concrete configuration therefore is such that the user interfacesshown in FIGS. 16A and 16B are changed, and the tint block setting forthe physical pages and the tint block setting for the logical-pagearrangement areas are kept separately in a data structure of the tintblock printing shown in FIG. 14. Thereby, mutually different tint blockscan be printed in the physical pages (i.e., the above-mentioned blankarea) and the logical-page arrangement areas, respectively.

FIG. 22 is a flowchart showing processing of this embodiment in the casethat “superposition printing” is specified. It differs from theprocessing shown before in FIG. 21 in that after “Logical page drawing”in Step 1906, the tint block pattern for the logical-page arrangementareas is drawn in Step 1907.

The processing of this embodiment in the case that “watermark printing”is specified is as follows. This processing differs from the processingshown in FIG. 21 in that after deleting the tint block image from thelogical-page arrangement areas in Step 1910, the tint block image thatis different from the image in the blank area and that is other thanblanked data (pixel value is zero) is drawn in the logical-pagearrangement areas. After this, drawing in the logical-page arrangementareas is performed in Step 1906.

As described in the above, according to the second embodiment of thepresent invention, even when the density of the tint block image isclose to the density of the printout image, the printout image can berecognized clearly. Besides, since the tint block image is printed alsoin the logical-page arrangement areas and consequently the tint blockimage is printed all over the physical page, a printed matter such thatimpression and appearance of the whole printed matter are furtherenhanced can be generated as compared to the first embodiment that hasachieved the object of the present invention just by not forming thetint block image in the logical-page arrangement areas.

In this embodiment, the timing between the drawing of the logical pagedata for the logical-page arrangement areas and the deletion of the tintblock image is explained as specified in the foregoing. However, thepresent invention is not limited to a processing flow like this, and theprocessing only needs to be controlled in such a way that mutuallydifferent tint block images are finally formed in the margin areas andthe logical-page arrangement areas, respectively.

(Third Embodiment)

The third embodiment of the present invention relates to a configurationin which the density of the printout image is corrected so that thedensity becomes higher than the density of the tint block image by acertain value or more. More specifically, the configuration is such thata density range not used in the printing is determined in advance basedon the densities of the latent image and the background image of thetint block as well as a density margin being set for each type ofprinter etc., the density of individual print object directed by theapplication is detected, and the density of the printed image iscorrected so that the detected densities do not fall within the densityrange not used in the printing.

FIGS. 23A and 23B are diagrams explaining one example of this densitycorrection.

Theoretically, the density of the latent image and the density of thebackground image become the same value, but actually they do notnecessarily coincide with each other due to a characteristic andconditions of a printing device. As shown in FIGS. 23A and 23B, thedensity (Df) of the latent image (foreground pattern) is 23, and thedensity (Db) of the background image (background pattern) is 20 in theillustrated example. In order to enhance the density of the printoutimage (print object) by a certain value or more to these densities, adensity margin (Dm) is set. In the illustrated example, this value isset to 13. Note that since this density margin varies due to factors,such as a type of an output device and its conditions, for example, thisvalue may be made different for each device, and made different afterthe elapse of a constant period for the same device.

Then, once the density margin is set, the maximum density (Dx) of thedensity range not used in printing is calculated by the followingformula:Dx=max(Df, Db)+Dm,where max(Df, Db) means a larger value of Df and Db. In the illustratedexample, Dx is found 36. Then, printing is performed in such a way thatthe density falls within densities ranging from this maximum density(Dx) to the maximum density (Dmax). To be concrete, the followingintensity compensation is performed.

The density (D-out) directed in performing printing that is based on thedensity of an object (D-in) directed by the application is calculated bythe following formula. That is, correction of “the density directed bythe application,” which is indicated by the straight line c shown inFIG. 23B, is performed by the following formula.D-out=(Dmax−Dx)/Dmax×D-in+Dx

To be concrete, the density correction stated above can be performed bythe despooler 305 and will be able to be reflected in printing.Naturally, the same correction may be performed by the previewer 306,the setting change editor 307, or the like, being applied to an imageoutputted on the screen.

Incidentally, if the density (D-in) of an object directed from theapplication is higher than the maximum density Dx being set using thedensity margin, the object is printed, as with the original density,without performing such correction as described above.

According to the above embodiment, since the density of the imageprinted out is enhanced by a certain value or more to the tint blockimage, the density of the printed image is prevented from becoming closeto that of the tint block image, facilitating identification of theprinted image. Moreover, the embodiment can prevent degradation in theprinted image, such as blurring of image outlines, resulting from itsclose density to the tint block image. Incidentally, even if an image tobe printed is a gray-scale image, the original gradation may be almostretained by compensating densities of the printed image according to theabove formula.

(Other Embodiments)

An embodiment that combines the above-mentioned second embodiment andthird embodiment is also feasible. That is, naturally the density margincan be set for the latent image density and the background density ofthe tint block image printed in the logical pages.

In addition, although the first and second embodiments mentioned aboveare explained by taking the so-called N-up printing as examples, it isevident from the description above that the present invention can beapplied to a printing style such that printing areas and blank areasother than the printing areas are produced in the printable area as inthe case of, for example, mere reduction printing.

(Further Another Embodiment)

Incidentally, the present invention may be applied to a systemcomprising two or more pieces of equipment (for example, host computer,interface device, reader, printer, etc.), and to equipment consisting ofa single device (copying machine, printer, facsimile apparatus, etc.).

In addition, the object of the present invention is also achieved byallowing a computer in a system or equipment (or CPU, or MPU) to readand execute program code stored in a storage medium for storing programcode that executes procedures of the flowcharts realizing theabove-mentioned functions of the embodiment and being shown in thefigures.

In this case, the program code itself read from the storage medium willrealize the above-mentioned functions of the embodiments, andconsequently the storage medium storing the program code constitutes thepresent invention.

As storage media for providing the program code, there can be used, forexample, a floppy (registered trademark) disk, a hard disk, an opticaldisk, a magneto-optical disk, CD-ROM, CD-R, magnetic tape, a nonvolatilememory card, ROM, etc.

Moreover, the present invention includes not only a case where theabove-mentioned functions of the embodiments are realized by a computerexecuting read program code, but also a case where the OS (OperatingSystem) working on a computer executes a part or the whole of actualprocessing based on instructions of the program code, by whichprocessing the above-mentioned functions of the embodiments arerealized.

Furthermore, the present invention also includes a case where theprogram code read from the storage medium is written into memorypossessed by a function expansion board loaded into a computer or by afunction expansion section connected to a computer, and subsequently,based on instructions of the program code, a CPU possessed by thefunction expansion board or by the function expansion section or etc.executes a part or the whole of actual processing, by which processingthe above-mentioned functions of the embodiment are realized.

The present invention has been described in detail with respect topreferred embodiments, and it will now be apparent from the foregoing tothose skilled in the art that changes and modifications may be madewithout departing from the invention in its broader aspect, and it isthe intention, therefore, in the apparent claims to cover all suchchanges and modifications as fall within the true spirit of theinvention.

This application claims priority from Japanese Patent Application No.2003-352982 filed Oct. 10, 2003, which is hereby incorporated byreference herein.

1. An information processing apparatus comprising print data generatingmeans for generating a first image for printed out and a second imageincluding a latent image and a background image, wherein said print datagenerating means arranges the first image on a first area of a printablearea of a printing medium and the second image on a second area otherthan the first area, of the printable area.
 2. An information processingapparatus as claimed in claim 1, wherein said print data generatingmeans generates the print data so that a portion of the second imageexcluded from the first area is rendered blank.
 3. An informationprocessing apparatus as claimed in claim 1, wherein said print datagenerating means generates the print data so that a third image isarranged on the first area, the third image includes the latent imageand the background image, and is different from the second image.
 4. Aninformation processing apparatus comprising print data generating meansfor generating a first image for printed out and a second imageincluding a latent image and a background image, wherein said print datagenerating means corrects a density value of the first image based on amaximum density value of the second image for generating print data, sothat the density value of the first image is within a density rangegreater than the density value that is greater than the maximum densityof the second image by a predetermined value.
 5. An informationprocessing apparatus as claimed in claim 4, wherein said print datagenerating means corrects the density value of the first image when thedensity value of the first image has a density value less than thedensity value that is greater than the maximum density.
 6. Aninformation processing method comprising print data generating step forgenerating a first image for printed out and a second image including alatent image and a background image, wherein said print data generatingstep arranges the first image on a first area of a printable area of aprinting medium and the second image on a second area other than thefirst area, of the printable area.
 7. An information processing methodas claimed in claim 6, wherein said print data generating step generatesthe print data so that a portion of the second image excluded from thefirst area is rendered blank.
 8. An information processing method asclaimed in claim 6, wherein said print data generating step generatesthe print data so that a third image is arranged on the first area, thethird image includes the latent image and the background image, and isdifferent from the second image on the second area.
 9. An informationprocessing method comprising print data generating step for generating afirst image for printed out and a second image including a latent imageand a background image, wherein said print data generating step correctsa density value of the first image based on a maximum density value ofthe second image for generating print data, so that the density value ofthe first image is within a density range greater than the density valuethat is greater than the maximum density of the second image by apredetermined value.
 10. An information processing method as claimed inclaim 9, wherein said print data generating step corrects the densityvalue of the first image when the density value of the first image has adensity value less than the density value that is greater than themaximum density.
 11. A program for making a computer function as anapparatus claimed in one of claims 1-5.